package cn.z2huo.demo.model.dataobject.ccip;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>该 DO 对应数据库表为 ccip_user_property
 * <p>
 * 
 * @author z2huo
 * @date   2025-06-26
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("ccip_user_property")
public class CcipUserPropertyDO implements Serializable {

    @Serial
    private static final long serialVersionUID = 8603576749506631699L;

    /**
     * 用户ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 操作时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime operateTime;

    /**
     * 创建人代码
     */
    @TableField(fill = FieldFill.INSERT)
    private String createByCode;

    /**
     * 最后操作人代码
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String operateByCode;

    /**
     * 集团代码
     */
    private String groupUserCode;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 用户类型
01，员工用户
02，财险业务员
03，虚拟用户
04，合作伙伴
05，销售员用户
06，电销用户
07，社保用户
08，迁移用户
     */
    private String userType;

    /**
     * 根归属机构，包括 总公司 省公司 中心
     */
    private String baseComCode;

    /**
     * 所属机构代码
     */
    private String comCode;

    /**
     * 最新用户代码-三代
     */
    private String newUserCode;

    /**
     * 老用户代码_二代
     */
    private String oldUserCode;

    /**
     * 有效状态
     */
    private String validStatus;

    /**
     * 备注
     */
    private String remark;

    /**
     * 用户来源
     */
    private String sysSource;

    /**
     * 归属部门
     */
    private String deptCode;

    /**
     * 标签
     */
    private String dictCode;

    /**
     * 兼岗部门编号
     */
    private String deptCodePart;

    /**
     * 出单用户类型
     */
    private String pUserType;

    /**
     * 出单机构
     */
    private String pComCode;

    /**
     * 岗位信息
     */
    private String pGradeName;

    /**
     * 网点属性
     */
    private String networkProperties;

    /**
     * 用工形式
     */
    private String pUserMode;

    /**
     * 任现岗位开始时间
     */
    private LocalDate pGradeDate;

    /**
     * 用户分类（企业、个人）
     */
    private String userSort;

    /**
     * 是否为交叉销售用户
     */
    private String crossUserFlag;

    /**
     * 漫游分类
01_漫游
02_收回
     */
    private String roamingType;

    /**
     * 漫游状态
     */
    private String roamingStatus;

    /**
     * 漫游地
     */
    private String roamComCode;

    /**
     * 有效终止时间
     */
    private LocalDate validEndDate;

    /**
     * 标志字段
     */
    private String flag;

    /**
     * 渠道类型代码
     */
    private String agentTypeCode;

    /**
     * 关联人员工号
     */
    private String relUserCode;

    /**
     * 职务名称
     */
    private String hrDutyName;

    /**
     * 虚拟用户新增子类字段
0_rpa机器人
1_自动流程节点
     */
    private String userSonType;
}